package ControleAcademico.View;

import java.util.Scanner;

import ControleAcademico.Model.Dao.AtividadeImpl;
import ControleAcademico.Model.Dao.HistoricoAtividadeImpl;
import ControleAcademico.Model.Dao.TurmaImpl;
import ControleAcademico.Model.Pojo.Atividade;
import ControleAcademico.Model.Pojo.Turma;


public class MenuAtividade {

	private AtividadeImpl atividadeImpl;
	private TurmaImpl turmaImpl;

	public MenuAtividade(AtividadeImpl atividadeImpl,TurmaImpl turmaImpl, HistoricoAtividadeImpl historicoAtividadeImpl) {
		this.atividadeImpl = atividadeImpl;
		this.turmaImpl = turmaImpl;
	}

	public void cadastrar () {

		int flag = 0;
		int j = 1;
		double valor = 0.0;
		Turma turma = null;
		Scanner entrada = new Scanner(System.in);
		Atividade atividadeNova = null;

		System.out.println("Por favor informe a turma que deseja cadastrar em atividade: ");

		for (Turma i : turmaImpl.getTurmas()) {
			System.out.println("Turma ("+ j + ") - " + "Numero de aulas:  " + "\t"+ "Ano: " +
					i.getAno() + "\tPeriodo: " + i.getPeriodo() + "\tLocal: " + i.getLocal() + 
					"\tHorario: " + i.getHorario() + "\tNumero de vagas: " + i.getNumeroVagas() + 
					"\tDisciplina: " + i.getDisciplina().getNome() + "\n\n");
			j++;
		}


		System.out.println("Informe a turma desejada: ");
		String leitura = entrada.nextLine();
		int option = Integer.parseInt(leitura);
		j = 1;

		for (Turma i : turmaImpl.getTurmas()) {

			if (j == option){
				turma = i;
				break;
			}else{
				j++;
			}
		}

		if(turma.getListaDeAlunos().size()==0){
			System.out.println("A turma escolhida ainda não possui alunos.");
		} else {

			while (flag != -1) {

				System.out.print("Informe o nome da atividade: ");
				String nome = entrada.nextLine();

				System.out.print("\nInforme o tipo de atividade: ");
				String tipo = entrada.nextLine();

				System.out.print("\nInforme a data de entrega: ");
				String data = entrada.nextLine();


				System.out.print("\nInforme o valor: ");
				leitura = entrada.nextLine();
				valor = Double.parseDouble(leitura);
				
				boolean conti = true;

				while(conti){
					System.out.println("\n\nAtividade cadastrada com sucesso!\n\n\n\n");
					System.out.println("\n\nAperte qualquer tecla para continuar ...\n");
					leitura = entrada.nextLine();
					conti = false;
				}

				for(int l = 0; l<50;l++){
					System.out.println();
				}

				System.out.print("\n\n");
				System.out.println("Deseja adicionar mais atividades? S/N: ");
				leitura = entrada.nextLine();

				if(leitura.equals("N") || leitura.equals("n")){
					flag = -1;
				}


				atividadeNova = new Atividade (turma, nome, tipo, data, valor);
				atividadeImpl.salvar(atividadeNova, 0);


			}
		}


	}
}